package com.gp.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.gp.model.dto.AlbApplyVo;
import com.gp.model.dto.AuditApplyVo;
import com.gp.model.entity.BaseAlbApply;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 弓成龙
 * @since 2017-11-26
 */
public interface IBaseAlbApplyService extends IService<BaseAlbApply> {

  /**
   * 查询用户的所有的艾乐币交易记录
   * 
   * @param userId 用户id
   * @return JsonResult
   */
  Page listUserTradeRecord(Page page, String userId);

  /**
   * 处理兑换的申请
   * 
   * @param submitApply
   * @param uid
   * @param username
   */
  boolean addSubmitApply(AlbApplyVo submitApply, Long uid, String username);
  
  /**
   * 处理体现的申请
   * @param submitApply
   * @param uid
   * @param username
   */
  boolean submitWithdrawApply(AlbApplyVo submitApply, Long uid, String username);
  
  /**
   * 审核申请
   * @param auditApply
   */
  boolean auditApply(AuditApplyVo auditApply);
  
  /**
   * 查询所有等待审核的申请,提供给管理员进行审核
   * @param page
   * @return
   */
  Page listWaitAuditApply(Page page);

}
